Method and Apparatus for Reducing Server Workload in an Automation System

ABSTRACT

There is described an automation system for controlling and/or regulating a technical process, and also to a web access module which allows data transmission between an automation device and a remote device via the World Wide Web, and furthermore to a method for transmitting data between an automation device and a remote device via the World Wide Web. Measures are proposed which reduce the communication load between the remote device and an automation device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the US National Stage of International Application No. PCT/RU2005/000604, filed Nov. 25, 2005 and claims the benefit thereof. The International Application is incorporated by reference herein in its entirety.

FIELD OF INVENTION

The invention relates to an automation system for controlling and/or regulating a technical process in line with the precharacterizing part of claim 1. The invention also relates to a web access module which allows data transmission between an automation device and a remote device via the World Wide Web. Furthermore, the invention relates to a method for transmitting data between an automation device and a remote device via the World Wide Web.

BACKGROUND OF INVENTION

An automation system is known from EP 1 256 861 B1. In that publication, a web access module with a web server is provided which has an internet interface and a plurality of control device interfaces. The internet interface can have a remote device connected to it via the internet, and the control device interfaces can each have a control apparatus connected to them. The data transmission between the remote device and all the control devices is performed via the web server, which means a heavy communication load for the web server.

SUMMARY OF INVENTION

The present invention is based on an object of providing an automation system of the aforementioned type which is used to reduce the communication load between a remote device and an automation device. It is also the intention to specify a web access module which is suitable for such an automation device. Furthermore, the intention is to specify a method for transmitting data between a remote device and an automation device which simplifies the data transmission.

This object is achieved for an automation system as claimed in an independent claim, for a web access module and for a method as claimed in further independent claims.

Preferable embodiments of the invention can be found in the sub-claims.

The fact that the at least one portion of the web server which is required for handling a data request is loaded into the respective automation device only in the event of a data request means that both the communication load for the data transmission between the remote device and the respective automation device and the loading on the respective automation device itself are reduced. In addition, the memory in the respective automation device can be reduced in terms of storage capacity so as to be able to save only the required portion of the web server.

In one preferable embodiment of the invention, the web access module is part of an application server or of a firewall server. This means that the web server can be saved centrally together with one or more control programs for controlling a technical process, and this allows simple updating of these programs. Application servers are known per se. Usually, an application server is a server for application programs which executes applications used by a large number of clients, e.g. clients in the form of automation devices. The application server may be provided with suitable means which allow, by way of example, only licensed and/or authorized access operations to the automation devices.

Particular protection against unauthorized access operations to the automation devices and to production sites can be provided by virtue of the web access module being part of an inherently known firewall server which prevents unauthorized parties, for example, from transmitting data to the automation devices.

The web pages can be saved either on the respective automation device or on the application or firewall server. If the web pages are stored on the automation device, the web pages are updated prior to further processing by the application or firewall server. If the web pages are stored on the application or firewall server, the at least one portion of the web server or of the web server instance is transmitted together with the web pages to the or to the respective automation device.

In one further embodiment of the invention, the web access module has a directory which stores an identifier for the automation device and a version number for the at least one portion of the web server which can be saved in the automation device. This allows the web access module to check which version of the at least one portion of the web server needs to be loaded into the automation device by the web access module in order to ensure a trouble-free communication between the remote device and the automation device. This is because it is necessary to ensure that the at least one portion of the web server is actually able to run on the hardware of the automation device.

In still another embodiment of the invention, the automation device transmits the version number of the at least one portion of the web server to the web access module. If the web access module recognizes that the version number saved in the automation device does not match the current version number saved in the web access module, the web access module updates the at least one portion of the web server in the automation device. This involves first of all checking whether the new version is actually suitable for this hardware. This ensures that the automation device is always provided with the current, executable software level.

The fact that the web access module deletes the at least one portion of the web server which is saved in the automation device when the data transmission has concluded means that the memory in the automation device can be used for other applications.

In a further embodiment of the invention, the at least one portion of the web server is saved in the automation device, e.g. during the latter's startup phase, so as to be resident. This reduces the communication load, with the at least one portion of the web server being loaded into the automation device only in order to update it.

The automation device can be provided with a communication port which is implemented in hardware or in software and which has an inherently known “thread demon”. This allows the at least one portion of the web server or of the web server instance of the application server to be received.

The mechanism for loading the at least one portion of the web server or of the web server instance into the automation device can be produced either as part of an RTOS operating system or a “real time virtual machine”, e.g. a “Java Virtual Machine”.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, its refinements and advantages are explained in more detail below with reference to the drawing, which illustrates an exemplary embodiment of the invention.

FIGS. 1 and 2 show simplified illustrations of an automation system.

DETAILED DESCRIPTION OF INVENTION

In FIG. 1, 1 denotes an automation system which has an application server 2, a remote device 3 and also a plurality of automation devices in the form of programmable logic controllers (PLCs) 4 a, 4 b and intelligent input/output units 5. It should be understood that the automation system 1 can have a plurality of remote devices, e.g. remote devices in the form of inherently known personal computers which are respectively provided with a suitable internet browser program. A web access module 6 which is stored on the application server 2 and which is provided with a web server 7 allows data transmission between the remote device 3 and the automation devices 4 a, 4 b, 5, with a communication link 8 connecting the remote device 3 to the application server 2 and to the automation devices 4 a, 4 b, 5. It should be understood that it is possible to connect the remote device 3 and the application server 2 just to one of the automation devices 4 a, 4 b, 5, e.g. to the automation device 4 a, via the communication link 8, with this automation device 4 a being connected via a further communication link to the rest of the automation devices 4 b, 5, and the automation devices 4 a, 4 b, 5 being provided with suitable hardware and software interfaces for correct communication between the automation devices 4 a, 4 b, 5.

The application server 2 can be used to save a multiplicity of web applications and other application programs. By way of example, the application server 2 has a piece of programming software saved on it for creating a control program which is provided for controlling a technical process and which can be executed on one or more of the automation devices 4 a, 4 b, 5. This programming software can be loaded into the remote device 3 in order to create control programs or in order to modify control programs which have already been created. Modification of one or more control programs is required particularly if changes need to be made to the technical process for control or to the industrial installation for control.

To allow correct data interchange, the web access module 6 has a directory in which an identifier is saved for each automation device 4 a, 4 b, 5. The web server 7 is in the form of an object-oriented software component, with web server instances being stored in the web access module 6 in addition to this component. Which instance is suitable for which automation device 4 a, 4 b, 5 is likewise stored in the directory.

In the following it is assumed that data transmission is intended to take place between the remote device 3 and the automation device 4 a. To this end, the remote device 3 initially sends the application server 2 a data request 9 in the form of an “HTTP request”. On the basis of the evaluation of this data request 9, the web access module 6 recognizes that communication is intended to take place between the remote device 3 and the automation device 4 a, and then transmits a web server instance associated with this automation device 4 a, or at least one portion of this web server instance which is required for handling the data request. It is assumed below that an associated web server instance 10 is transmitted. The automation device 4 a saves this instance in a memory in the automation device 4 a. In addition, the web access module 6 indicates to the remote device 3 that the web server instance 10 has been loaded into the automation device 4 a. This can be done, by way of example, by virtue of the web access module 6 supplying the remote device 3 with the data request 9 in the form of an acknowledgement 11. In a subsequent step, the remote device 3 transmits the data request 9 in the form of a fresh data request 12 to the automation device 4 a, on the basis of which the web server instance 10 saved in the automation device 4 a supplies the remote device 3 with requested data 13, e.g. with the requested web pages.

Data transmission between the remote device 3 and the automation device 4 a can also be effected such that, when a data request has been received by the remote device 3, the web access module 6 saves the web server instance associated with this automation device 4 a in the automation device 4 a together with this data request. For a more detailed explanation, reference is subsequently made in this regard to FIG. 2, wherein identical parts in FIGS. 1 and 2 have been provided with the same reference numbers. The remote device 3 sends to an application server, which in the present example is part of a firewall server 14, a data request 15 which the web access module 6 takes as a basis for supplying the web server instance together with the data request 15 in the form of a data stream 16 to the automation device 4 a. From the data stream 16, the automation device 4 a ascertains the web server instance and the data request 15, implements the web server instance and, following this implementation, handles the data request 15, as a result of which the web server instance transmits requested data 17 via the application server to the remote device 3. 

1.-14. (canceled)
 15. An automation system to control a technical process, comprising: a web access module with a web server, wherein the web access module is connected via a communication link to at least one automation device and to at least one remote device, wherein the web access module allows data transmission between the at least one automation device and the at least one remote device, wherein in the event of a data request the web access module saves at least one portion of the web server, which is required for handling the data request, in the automation device, wherein the at least one portion of the web server handles the data request and transmits the data to the remote device directly or via the web access module.
 16. The automation system as claimed in claim 15, wherein the web access module is part of an application server or of a firewall server.
 17. The automation system as claimed in claim 15, wherein the web access module has a directory which stores an identifier for the automation device and a version number for the at least one portion of the web server which can be saved in the automation device.
 18. The automation system as claimed in claim 17, wherein the automation device transmits the version number of the at least one portion of the web server to the web access module, with the web access module updating the at least one portion of the web server in the automation device if the version number saved in the automation device does not match a current version number saved in the web access module.
 19. The automation system as claimed in one of claims 15, wherein the web access module deletes the at least one portion of the web server which is saved in the automation device when the data transmission has concluded.
 20. The automation system as claimed in one of claim 15, wherein the at least one portion of the web server is saved in the automation device so as to be resident.
 21. A web access module, comprising: a web server connectable via a communication link to at least one automation device and to at least one remote device, the web access module allowing data transmission between the at least one automation device and the at least one remote device, wherein in the event of a data request the web access module saves at least one portion of the web server, which is required for handling the data request, in the automation device, and wherein the at least one portion of the web server handles the data request and transmits the data to the remote device directly or via the web access module.
 22. The web access module as claimed in claim 21, wherein the web access module is part of an application server.
 23. The web access module as claimed in claim 21, wherein the web access module is part of a firewall server.
 24. The web access module as claimed in claim 21, wherein the web access module has a directory which stores an identifier for the automation device and a version number for the at least one portion of the web server which can be saved in the automation device.
 25. The web access module as claimed in claim 24, wherein the version number of the at least one portion of the web server which is saved in the automation device is transmitted to the web access module, with the web access module updating the at least one portion of the web server in the automation device if the version number saved in the automation device does not match a current version number saved in the web access module.
 26. The web access module as claimed in claim 22, wherein the web access module deletes the at least one portion of the web server which is saved in the automation device when the data transmission has concluded.
 27. The web access module as claimed in claim 23, wherein the web access module deletes the at least one portion of the web server which is saved in the automation device when the data transmission has concluded.
 28. A method for transmitting data between an automation device and a remote device, comprising: providing a web server with a web access module for a data transmission; saving at least one portion of the web server which is required for handling the data request in the automation device in the event of a data request; and transmitting the data to the remote device directly or via the web access module by the at least one portion of the web server.
 29. The method as claimed in claim 28, wherein a directory is saved in the web access module, said directory having an entry for an identifier for the automation device and an entry for a version number for the at least one portion of the web server which is stored in the automation device.
 30. The method as claimed in claim 29, wherein the automation device transmits the version number to the web access module, with the web access module updating the at least one portion of the web server in the automation device if the version number saved in the automation device does not match a current version number saved in the web access module.
 31. The method as claimed in claim 28, wherein the at least one portion of the web server which is saved in the automation device is deleted when the data transmission has concluded.
 32. The method as claimed in claim 29, wherein the at least one portion of the web server which is saved in the automation device is deleted when the data transmission has concluded.
 33. The method as claimed in claim 30, wherein the at least one portion of the web server which is saved in the automation device is deleted when the data transmission has concluded. 